Autonomous semantic data discovery for distributed networked systems

ABSTRACT

Systems, methods, techniques and apparatuses for managing distributed applications of networked intelligent agents are disclosed. The agents are operably to autonomously discover semantic profiles and associated data of other agents in a networked system participating in a given application. The agents need not be in direct communication with or known to all the other agents in the networked system.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

This invention was made with U.S. Government support under Contract No.DE-OE0000831 awarded by the Department of Energy. The Government hascertain rights in this invention.

FIELD OF THE INVENTION

The present disclosure relates generally to decentralized data exchangemechanisms between agents of distributed networks implemented withcommunication protocols. In one embodiment, the agents can discover theidentity and capabilities of other agents in the network forparticipation in a distributed application.

BACKGROUND

Networks of intelligent agents and/or systems are employed in manyapplications today, such as electric power systems, industrial controlsystems, access control systems, and the Internet of Things, just toname a few. For example, electric distribution systems are undergoing atransition from centrally managed to distributed and networked systemswith independent intelligence and autonomy. Independently controlled,networked microgrids comprised of Distributed Energy Resources (DERs)and loads with one or several points of interconnections to the utilitygrid can coordinate to support a distribution system using distributedapplications like energy trading, optimization and state estimation.These applications are executed by a network of agents representing eachmicrogrid, which may be unaware of the state of the entire network orthe neighboring microgrids, especially if they do not share owners.

Therefore, it is possible that the agents of a networked system may notknow the identity of other agents that will be included in a givenexchange of information for a given application and/or the capabilitiesof one or more other agents in the network can provide with respect tothe application. As a result, further developments in this area areneeded.

SUMMARY OF THE DISCLOSURE

Exemplary embodiments of the disclosure include unique systems, methods,techniques and apparatuses for autonomous discovery of semantic profilesand associated data of a plurality of agents in a networked systemparticipating in a given application, saving initial configurationeffort, enabling adaptation to network changes, and protecting theprivacy of independently owned assets. Further embodiments, forms,objects, features, advantages, aspects and benefits of the disclosureshall become apparent from the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary networked microgrid system withdistributed agents.

FIG. 2 is a table showing neighbor relationships between the networkedmicrogrids in FIG. 1.

FIG. 3 is a flowchart illustrating an exemplary process forcommunicating agent semantic profiles and associated data for discoveryby other agents in the network.

FIG. 4 is a chart showing iterations of messages sent by one agent inthe networked system in FIG. 1 during a semantic profile discoveryprocess.

FIG. 5 is a block diagram illustrating an exemplary control system.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

For the purposes of clearly, concisely and exactly describingillustrative embodiments of the present disclosure, the manner andprocess of making and using the same, and to enable the practice, makingand use of the same, reference will now be made to certain exemplaryembodiments, including those illustrated in the figures, and specificlanguage will be used to describe the same. It shall nevertheless beunderstood that no limitation of the scope of the invention is therebycreated, and that the invention includes and protects such alterations,modifications, and further applications of the exemplary embodiments aswould occur to one skilled in the art.

With reference to FIG. 1, there is illustrated a networked microgridsystem 100. It shall be appreciated that system 100 is not limited tonetworked microgrids, and may be implemented in a variety ofapplications for distributed systems including networked intelligentagents, including utility grid distribution systems, industrial plantdistribution systems, vehicular distribution systems, distributedgeneration systems and other agents within a microgrid, industrialcontrol systems, Internet of Things, access control systems, andpartitioned applications on a single computer, to name but a fewexamples.

It shall be appreciated that the topology of system 100 is illustratedfor the purpose of explanation and is not intended as a limitation ofthe present disclosure. For example, system 100 may include more orfewer microgrids, and the microgrids of system 100 may be arranged inany configuration, including just a single microgrid with intelligentagents embedded within relays, meters controllers, etc., operatingwithin the microgrid for participating in a distributed application.Furthermore, it shall be appreciated that the topology of each microgridis illustrated for the purpose of explanation and is not intended as alimitation of the present disclosure. For example, microgrid 110 mayinclude more or fewer buses, more or fewer power sources, more or fewerenergy storage devices, more or fewer loads, and more or fewer fielddevices. Although system 100 is illustrated with a single line diagram,system 100 may be structured to transmit single phase alternatingcurrent (AC) power or multiphase AC power, or direct current (DC) power.

In the illustrated example, system 100 includes microgrids 110, 120,130, 140 and 150. Each microgrid includes at least one load and at leastone power source coupled to one of a plurality of buses. Each microgridincludes a plurality of field devices structured to measure electricalor physical characteristics of the microgrid. For example, microgrid 150includes a plurality of buses including bus 158, a plurality of loadsincluding load 155, an AC power source 157, and a plurality of fielddevices 152.

AC power source 157 may include a solar panel array, a wind turbine, anatural gas generator, or any other device or system structured togenerate power. Load 155 may be any type of device or system structuredto consume power. The plurality of field devices 152 may include voltagesensors, intelligent electronic devices (IEDs), remote terminal units(RTUs), relays, reclosers, current sensors, voltage transformers, andcurrent transformers, to name but a few examples.

Each microgrid 110, 120, 130, 140, 150 also includes a microgrid controlsystem 111, 121, 131, 141, 151 coupled to the plurality of field devicesby way of a plurality of communication channels. For example, microgrid150 includes microgrid control system 151, which is coupled to pluralityof field devices 152 by way of a plurality of communication channels.Each microgrid control system is structured to monitor electrical andphysical characteristics of the microgrid, operate controllable devicesin the microgrid, and protect the devices coupled to the microgrid fromfaults and other conditions.

Each microgrid 110, 120, 130, 140, and 150 includes an intelligent agent113, 123, 133, 143, 153, respectively, that may be a part of thecorresponding control system 111, 121, 131, 141, and 151. The agents113, 123, 133, 143, 153 each manage the respective microgrid, and areconnected to one another in the communication network 160 in the mannerdescribed below. Agents 113, 123, 133, 143, 153 operate autonomously andare configured to perform independent computations and communicate witheach other by exchanging messages within the communication network 160.For an electrical power system, these agents 113, 123, 133, 143, 153 maybe associated with protection relays, meters, distributed energyresource controllers, microgrid supervisory controllers, etc. It shouldbe understood that FIG. 1 only shows an example topology, and agents113, 123, 133, 143, 153 may be neighbors to some agents and not others,and the neighbor relationships are not limited to the illustratedembodiment.

Referring to FIG. 2, communication network relationships betweenneighboring microgrids in FIG. 1 is shown in Table 200. Microgridcontrol systems 111, 121, 131, 141, 151 and/or agents 113, 123, 133,143, 153 of microgrids 110, 120, 130, 140, and 150, respectively, arestructured to communicate by way of a communication network 160including communication channels coupled with one or more neighboringmicrogrid control systems. In the illustrated embodiment, microgridcontrol system 111/agent 113 communicates only with microgrid controlsystems/agents 121/123 and 131/133; microgrid control system/agent121/123 communicates only with microgrid control system/agent 111/113;microgrid control system/agent 131/133 communicates only with microgridcontrol systems/agent 111/113, 141.143, and 151/153; microgrid controlsystem/agent 141/143 communicates only with microgrid controlsystem/agent 131/133; and microgrid control system/agent 151/153communicates only with microgrid control system/agent 131/133.

The communication channels between agents, between field devices and anagent of a microgrid control system, as well as between field deviceswithin a microgrid, may be wired or wireless. Each communication channelmay use standardized communication protocols, such as IEC 61850, OPC UA,Pub-Sub, XMPP, or DDS, to name but a few examples. In certainembodiments, semantics of the exchanged messages may be defined usingcommon knowledge representations known as semantic models.

For example, the Foundation for Intelligent Physical Agents (FIPA)standard implements Agent Communication Language (ACL) to describe thesemantics of exchanged messages. The content of an ACL message includesthe object of the action and parameters passed through the message.Sender and receiver parameters designate the name of the sender andintended recipient agents. ACL messages express communicative acts suchas informing, requesting, refusing, subscribing, and propagating, toname but a few examples. IEC 61850 communication protocols may beextended using non-standardized IEC 61850 logical nodes as AbstractCommunication Service Interface (ACSI) based on ACL communication acts,and can be mapped to GOOSE messages.

There are benefits to operating distributed systems with autonomousintelligent agents 113, 123, 133, 143, 153. The distributed systems cancoordinate to perform functions or distributed applications thatstrengthen the resilience of the entire system. For example, distributedapplications for distribution systems segmented into a microgrid networkinclude distributed state estimation, optimization, peer-to-peer energysharing, and system reconfiguration. The resources associated with eachagent 113, 123, 133, 143, 153 may be owned and/or operatedindependently. As a consequence of these features, one or more of theagents 113, 123, 133, 143, 153 may not have knowledge or data about howthe other agents interact with any given distributed application(s).

Existing distributed systems suffer from a number of shortcomings anddisadvantages. In view of these and other shortcomings in the art, thereis a significant need for the unique apparatuses, methods, systems andtechniques disclosed herein. As explained in more detail below, theagents 113, 123, 133, 143, 153 of system 100 are each structured toautomatically discover the semantic profiles and associated data of allother agents participating in a given distributed application anddynamically update their own profiles to reflect the discovery of othersemantic profiles and associated data. As used herein, an agent'ssemantic profile and associated data includes the information about theagent's capability with respect to a given application.

The solution proposed in the present application is based oncommunication protocols that allow independent, distributed, andnetworked agents to exchange information without pre-established linksbetween all agents 113, 123, 133, 143, 153. These may includemessage-centric protocols between agents that use a client-servermechanism, data-centric protocols with partitioned data spaces, and/ormulticast/broadcast protocols that do not use addressing. Without afixed network, applications must adhere to an agreed format for thestructure and content of messages that are transmitted between agents.Following this format, the message for a particular application is theagent's semantic profile. The format may require data to be encodedunder a particular “topic” heading. Therefore, an application on oneagent can send a message of a particular topic out to the networkwithout a specified recipient agent, and any neighboring agents that areconfigured to detect and/or are subscribed to that topic on the networkwill receive the message.

Some protocols achieve this using a message “broker”, which is acentralized agent whose only purpose is to marshal messages frompublishers (senders) to subscribers (receivers) based on topics. Otherprotocols use a distributed “data space”, where all agents 113, 123,133, 143, 153 share their topics, but not necessarily their semanticprofile data, in an initial network discovery process. Applications insuch a network may also be distributed across partitioned data spaces,so that agents may not necessarily share topics with all other agents.In these cases, an agent can receive data from another agent on thenetwork without a direct communication link having been previouslyestablished. Unlike data centric and multicast/broadcast protocols,client-server protocols use addresses so that agents know the identitiesof neighboring agents. However, from one execution of an application toanother, each agent 113, 123, 133, 143, 153 may not have informationregarding the capabilities of their neighboring agents, or whether theneighboring agents are participating in the application. The agents 113,123, 133, 143, 153 also do not necessarily include information about therest of the network, nor can they communicate with non-neighboringagents.

With reference to FIG. 3, there is illustrated a process 300 forcommunicating agent semantic profile data in order for all agents todiscover the other agents in a network and their capabilities withrespect to a particular application. The following description ofprocess 300 is made with reference to networked microgrid system 100illustrated in FIG. 1. Specifically, the description of process 300 ismade with reference to one microgrid control system, but it is to beunderstood that each microgrid control system of networked microgridsystem 100 executes process 300 at the same time. Process 300 may beused in combination with other forms of networked microgrid systems andother distributed systems disclosed herein. It shall be furtherappreciated that a number of variations and modifications to process 300are contemplated, including, for example, the omission of one or moreaspects of process 300, the addition of further conditionals andoperations, and/or the reorganization or separation of operations andconditionals into separate processes.

Process 300 includes start operation 302 where to begin, the semanticprofiles and associated data, and possibly the participation, of theentire population of agents is unknown to among one or more of theagents 113, 123, 133, 143, 153. Process 300 proceeds to operation 304where each agent 113, 123, 133, 143, 153 sends its semantic profile dataas it relates to the application out to the network, whether as amulticast/broadcast, as a “publication”, or directly to a neighboringagent(s), encoded under a previously agreed-upon topic.

Once all the messages have been sent, at process 300 continues atoperation 306 where each agent 113, 123, 133, 143, 153 receives thesemantic profile data from each neighbor agent thereof. At operation 306each agent 113, 123, 133, 143, 153 will also learn the presence,identity, and profiles of its neighbor agent(s). In the example ofsystem 100 in FIG. 1, agent 113 will learn the semantic profiles andassociated data of agents 123 and 133, agent 123 will learn the semanticprofile and associated data of agent 113, agent 133 will learn thesemantic profiles and associated data for agents 143 and 153, agent 143will learn the semantic profile and associated data for agent 133, andagent 153 will learn the semantic profile and associated data for agent133.

In addition, each agent 113, 123, 133, 143, 153 extends its profile toinclude the profile information of its neighbor agents while formulatinga new message. In the example, agent 113 will prepare a new message thatwill include its original profile, plus the profiles of agents 123 and133 that are communicated to it. When the new messages are sent by theagents 113, 123, 133, 143, 153, each agent 113, 123, 133, 143, 153subscribed to the topic will capture data about their neighboring agentsas well as other agents that are included in its neighbor agentprofiles.

Process 300 continues at conditional 308 to iteratively determine if thesemantic profiles received by the respective agent 113, 123, 133, 143,153 include any semantic profile data about an agent that is currentlyunknown to the receiving agent. In the example provided herein, agent123 will receive data about the semantic profile of known, neighboragent 113 as before, and also about agent 133 because agent 113 includedthe semantic profile data of agent 133 in its message to agent 123.

If conditional 308 is YES, process 300 continues at operation 308 todynamically adjust the existing profile of the agent to include newsemantic profile data contained in the message. In the example discussedherein, the known semantic profile data related to agent 113 can beignored by agent 123, but the new semantic profile data of thenon-neighbor agent 133 will be added to the semantic profile of agent123 because agent 123 will recognize that it has not received thesemantic profile data of agent 133. If conditional 308 is NO because nounknown agent semantic profile data is received, process 300 ends at312.

With reference to FIG. 4, there is a table 400 illustrating the exampleagent 123 and each iteration of new messages being sent and received atagent 123 until discovery of all the agents that are unknown to agent123 is complete. Since each agent 113, 123, 133, 143, 153 continuouslysends messages, each time the agent 123 receives a message its semanticprofile is extended with newly discovered semantic profile data forpreviously unknown agents. Each agent 113, 123, 133, 143, 153 willtherefore gradually learn the semantic profiles and associated data ofthe other agents in the network. Each agent 113, 123, 133, 143, 153 canfilter incoming messages for semantic profile data about agents it hasnot detected before. Eventually, all agents 113, 123, 133, 143, 153 willhave no new semantic profile data capture, indicating that the discoveryprocess is complete.

Extending a semantic profile to include new data using process 300 maybe as simple as appending the new semantic data to the next message.Some communication protocols, such as IEC 61850, use highly specifiedcapability description data models to describe how an agent interactswith an application. The present disclosure makes use of a dynamic datamodel concept to reconfigure a capability description at each agent 113,123, 133, 143, 153 of system 100 to include the sematic profiles knownby a neighboring agent upon receiving the neighbor's message.

Process 300 is an iterative process for application agents 113, 123,133, 143, 153 to receive semantic profile data from neighboring agents,append their neighboring agent data to their own semantic profiles, andsend the updated semantic profiles again to their neighboring agents.Process 300 determines that the agent discovery is complete when theextended semantic profile data received by all agents 113, 123, 133,143, 153 have not changed since the last iteration. The process 300 canbe used in almost any communications network environment, includingclient-server, publisher-subscriber, and multicast/broadcast.

Process 300 can employ a “discovery” message topic to allow agents todiscover the presence and semantic profiles of other agents with respectto a particular distributed application. When an agent learns about aneighboring agent by receiving a “discovery” message, the first agentextends its profile to include the newly discovered semantic profiledata, then it sends out a new message with the extended semanticprofile. Over the course of the iterations of updating its semanticprofile and sending updated messages with extended, updated semanticprofiles, an agent may learn about more distant agents because itsneighbor included the previously unknown agent's semantic profile datain its extended semantic profile. Eventually, all agents will discoverthe profiles of all other agents, and when no new information iscontained in the messages being exchanged, the process 300 is complete.

The present disclosure is valuable for electrical power systems andother systems that use distributed, networked agents to providemeasurement and control functionality to support the system. Thenetworked agents host applications that enhance the cybersecurity,resilience, efficiency, and other capabilities of the distributionsystem and are executed in a distributed manner across the network. Insuch applications, it is necessary for the agents 113, 123, 133, 143,153 to know about the identity and capabilities of other agents so theycan communicate and coordinate with each other. The present disclosureproposes a way to achieve discovery of agents 113, 123, 133, 143, 153that protects the privacy of the devices and is adaptive to changes inthe network.

This specific example in the present disclosure uses agents 113, 123,133, 143, 153 representing networked microgrids as an example, but thepresent disclosure is not limited to such systems. Networked microgridapplications that use the discovery process 300 disclosed herein mayrequire the participation of any number of agents in the network. Thediscovery process 300 is used to find a neighbor microgrid (i.e.connected by a low-impedance electrical connection) that can shareenergy and to identify how much energy can be shared.

In many cases the number of participating agents may not be known inadvance. As an example, distributed state estimation application for anelectric power system needs all agents to participate, and agents maynot necessarily know in advance how many other agents are connected tothe network, or how many states are being estimated, when theapplication is initiated. In other cases, such as energy trading, theapplication may be a peer-to-peer transaction between two agents.

The present disclosure allows systems with distributed intelligence toimprove the operation of the entire system by allowing the system to behighly flexible and reconfigurable. Local, independent management ofagents eliminates a single point of failure while providing security andprivacy for independently owned agents. Applications for improvingsystem operation are distributed between intelligent agents thatrepresent the networked systems of agents and coordinate over acommunication network.

In order to gain the advantages of flexibility and privacy that adistributed system of agents provides over a centrally controlledsystem, the full set of profiles and capabilities among all agentsshould be known before running a particular distributed application. Theagents must discover the identity and profiles of other agents, whichmay have changed since the last time the application ran. The semanticprofile data discovery process 300 can run fast and automatically, whilerespecting the privacy of independently owned resources. Forapplications that may need to run periodically by the networked devices,the present disclosure addresses issues of scale, bandwidth limitations,privacy constraints, and other issues that arise in centrally controlledsystems where it may not be feasible to propagate in one step allrelevant changes to all the devices that participate in the application.

The solution proposed in the present disclosure is based oncommunication technologies that allow independent, networkedapplications to exchange information without pre-established linksbetween all agents in the system. In order for a distributed applicationto be executed by networked agents, each agent learns theapplication-specific semantic profiles and associated data of the otheragents with whom they will be coordinating. When an agent sends amessage with its semantic profile data over the network, the semanticprofile data follows a predefined format and data model relevant to theapplication agreed upon by all agents.

In the case of publish-subscribe protocols, agents can filter networktraffic for messages relating to the chosen topic, and they can receivea semantic profile and associated data from another agent withoutknowing the identity or location of that agent in advance. In the caseof a client-server protocol, the senders and receivers are predefined,but the profile content is not.

In a network that uses a publish-subscribe protocol and an agreed-upondiscovery topic, agents are able to discover the application semanticprofiles and associated data of all other agents in a number ofiterations that scales only linearly with the size of the network.Agents do not need to know anything in advance of the process except thetopic. This greatly simplifies the effort to set up a distributedintelligence application, as the application and communication processcan adapt to any changes in the network. For example, if a new agent isadded, the other agents do not have to change the manner in which theyrun the application, and the new agent does not need to be speciallyengineered to participate in the application.

Networks may also use a client-server protocol or other protocol inwhich senders and receivers among the agents are known. The presentdisclosure assumes that the entire network of agents is not known to theagents, as in FIG. 1, but all agents are to participate in the samedistributed application. In this case, this present disclosure providesa fast, automated, and easily configured way to initiate the applicationamong all the agents in the network. All agents are allowed to learn theprofiles and capabilities of all other agents while only exchanging datawith their predefined neighbors. If the network changes, the discoveryprocess does not need to be reconfigured.

As one specific example relating to the system 100 shown in FIG. 1, adistributed state estimation application is provided on the agents 113,123, 133, 143, 153 that improves system security. The global stateestimate is a vector generated by each agent 113, 123, 133, 143, 153,with one value for every bus in the network across all microgrids. Inorder to determine the length of the vector, an agent 113, 123, 133,143, 153 must know the total number of microgrids, and the number ofbuses in each microgrid. If the length is fixed, the application cannotadapt to any reconfigurations in the system. Using the process describedherein, each agent 113, 123, 133, 143, 153 learns the total number ofbuses over the course of several iterations as it discovers newmicrogrids/agents. This could be accomplished by including the number ofbuses as an attribute in the semantic profile, for example by settingone of the “Value” fields in FIG. 4 to the number of buses.

Specific intra-microgrid applications may also make use of the semanticdiscovery process 300. For example, a microgrid may have a distributedfault detection, isolation, and restoration (FDIR, a.k.a. faultlocation, isolation, and service restoration, or FLISR) application thatmitigates the impact of a fault inside the microgrid. In a distributedFDIR application, agents distributed geographically throughout themicrogrid would communicate and coordinate to perform the faultmitigation functions. High performance of the application would rely onall participating agents having up-to-date knowledge of the presence andcapabilities of other participating agents. Therefore, the semanticprofile data process 300 described herein can be executed periodically(or triggered by some other means) to keep the agents informed of theother agents in case a fault occurs.

Another example of an intra-microgrid application is “black start”application, where service is restored to the microgrid following acomplete blackout using resources within the microgrid. In thisapplication, distributed agents may communicate and coordinate the blackstart process in order to minimize downtime, maintain system stability,maximize use of renewables, and for other reason. In order for theapplication to succeed, the agents must know the presence andcapabilities of other participating agents. Therefore, the semanticprofile data discovery process 300 may be run as a first step in theblack start process.

With reference to FIG. 5 there is illustrated a schematic block diagramof an exemplary control system 500 such as one of the agents 113, 123,133, 143, 153 of system 100 in FIG. 1. Control system 500 includes aprocessing device 502, an input/output device 504, memory device 506,and operating logic 508. Furthermore, the computing device 500communicates with one or more external device 510, including otheragents or control systems in a distributed system or local fielddevices. Control system 800 may be a stand-alone device, an embeddedsystem, or a plurality of devices structured to perform the functionsdescribed with respect to system 500.

Input/output device 504 enables control system 500 to communicate withlocal field devices or other agents or control systems. Input/outputdevice 504 may include a network adapter, network credential, interface,or a port (e.g., a USB port, serial port, parallel port, an analog port,a digital port, VGA, DVI, HDMI, FireWire, CAT 5, Ethernet, fiber, or anyother type of port or interface), to name but a few examples.Input/output device 504 may include more than one of these adapters,credentials, or ports, such as a first port for receiving data and asecond port for transmitting data.

Processing device 502 may include one or multiple processors,Arithmetic-Logic Units (ALUs), Central Processing Units (CPUs), DigitalSignal Processors (DSPs), or Field-programmable Gate Arrays (FPGAs), toname but a few examples. For forms of processing devices with multipleprocessing units, distributed, pipelined, or parallel processing may beused. Processing device 802 may be dedicated to performance of only theoperations described herein or may be used in one or more additionalapplications. Processing device 502 may be of a programmable varietythat executes algorithms and processes data in accordance with operatinglogic 508 as defined by programming instructions (such as software orfirmware) stored in memory 506. Alternatively or additionally, operatinglogic 508 for processing device 502 is at least partially defined byhardwired logic or other hardware. Processing device 502 may compriseone or more components of any type suitable to process the signalsreceived from input/output device 504 or elsewhere, and provide desiredoutput signals. Such components may include digital circuitry, analogcircuitry, or a combination of both.

Memory device 506, also known as a computer readable medium, may be ofone or more types of memory, such as a solid-state variety,electromagnetic variety, optical variety, or a combination of theseforms, to name but a few examples. Furthermore, memory device 506 may bevolatile, nonvolatile, transitory, non-transitory or a combination ofthese types, and some or all of memory device 506 may be of a portablevariety, such as a disk, tape, memory stick, or cartridge, to name but afew examples. In addition, memory device 506 may store data that ismanipulated by operating logic 508 of processing device 502, such asdata representative of signals received from and/or sent to input/outputdevice 504 in addition to or in lieu of storing programming instructionsdefining operating logic 508, just to name one example. Memory device506 may be included with processing device 502 and/or coupled toprocessing device 502.

Further written description of a number of exemplary aspects of thepresent disclosure and various embodiments shall now be provided.According to one aspect, a method for discovery of semantic data of aplurality of agents in a distributed networked system is provided. Themethod includes sending a semantic profile with associated data for eachof the plurality of agents to one or more receiving agents that are indirect communication with one or more of sending agents; receiving, ateach of the one or more receiving agents, the semantic profile andassociated data from the respective one or more sending agents; inresponse to determining at the one or more receiving agents that thereceived semantic profile includes an unknown semantic profile andassociated data for an unknown agent, updating the semantic profile ofthe one or more receiving agents to include the unknown semantic profileand associated data for the unknown agent; after updating the semanticprofile of the one or more receiving agents, iteratively sending,receiving and updating the semantic profiles of the plurality of agentsuntil none of the receiving agents receive semantic profile andassociated data that include an unknown semantic profile and associateddata for an unknown agent.

In one embodiment of the method, initially at least two or more of theplurality of agents are unknown agents to at one of the plurality ofagents. In another embodiment, each of the plurality of agents isautonomous and communicates with the other of the plurality of agents byexchanging messages that include the updated semantic profiles. In yetanother embodiment, the semantic profile and associated data includesdata regarding the capability of the corresponding agent relative to anapplication on each of the plurality of agents.

In another embodiment of the method, the agents communicate via one ofclient-server, publisher-subscriber, and multicast/broadcastcommunication protocols. In yet another embodiment, each of the agentscomprises a control system including a processing device, aninput/output device, a memory device, and operating logic for performingthe method. In a further embodiment, the distributed networked systemincludes a plurality of microgrids and each of the agents is associatedwith a respective one of the plurality of microgrids. In anotherembodiment, the distributed networked system includes a plurality ofdevices within a microgrid and each of the agents is associated with arespective one of the devices.

According to another aspect, a method for discovery of one or moreagents in a distributed networked system is provided. The methodincludes operating a first agent of a first control system, a secondagent of a second control system, and a third agent of a third controlsystem; sending a first message with the first control system, the firstmessage having a first semantic profile and associated data of the firstagent; receiving the first message at the second control system; addingthe first semantic profile and associated data of the first agent to asecond semantic profile of the second agent; sending a second messagewith the second control system, the second message including the firstand second semantic profiles and associated data; receiving the secondmessage at the third control system; and adding the first semanticprofile and associated data of the first agent to a third semanticprofile of the third agent in response to receiving the second messageat the third control system.

In one embodiment, the method includes determining the semantic profileand associated data of the first agent is unknown to the third agentbefore adding the first semantic profile and associated data of thefirst agent to the third semantic profile of the third agent. In arefinement of this embodiment, the method includes sending and receivingmessages with the first, second, and third control systems to update thefirst semantic profile of the first agent, the second semantic profileof the second agent, and the third semantic profile of the third agentwith semantic profiles and associated data of one or more other agentsuntil none of the first, second, and third control systems receive anunknown semantic profile and associated data of the one or more otheragents.

In another embodiment of the method, each of the control systemsoperates an associated microgrid. In yet another embodiment, each of thecontrol systems operates an associated device within a microgrid. Instill another embodiment, the first control system is not in directcommunication with the third control system.

In another embodiment, the method includes sending a third message withthe third control system, the third message including the first, second,and third semantic profiles; receiving the third message at a fourthcontrol system including a fourth agent; determining at least one of thefirst, second, and third semantic profiles and associated data isunknown to the fourth agent; and adding the at least one unknownsemantic profile and associated data to a fourth semantic profile of thefourth agent.

According to another aspect, a non-transitory computer readable mediumincludes a set of instructions structured to be executed by a processingdevice of a first control system of a first agent effective to: send afirst message including at least a first semantic profile and associateddata to at least one receiving agent that is in direct communicationwith the first agent; receive a second message including at least asecond semantic profile and associated data from at least one sendingagent that is in direct communication with the first agent; determinethe second semantic profile and associated data is for an unknown agentto the first agent; update the first semantic profile of the first agentto include the semantic profile and associated data for the unknownagent; and send a third message including the first semantic profile andassociated data and the second semantic profile and associated data tothe at least one receiving agent.

In one embodiment, the set of instructions are structured to be executedby the processing device are effective for the first agent toiteratively update the semantic profile of the first agent with semanticprofiles received in messages from the at least one sending agent untilnone of the messages include a semantic profile and associated data foran unknown agent. In another embodiment, the semantic profile andassociated data includes data regarding the capability of thecorresponding agent relative to an application on each of the agents.

In yet another embodiment, the set of instructions structured to beexecuted by the processing device are effective to determine a value foreach semantic profile received at the first agent. In anotherembodiment, the first agent is configured to communicate via one of aclient-server, a publisher-subscriber, and a multicast/broadcastcommunication protocol with the at least one receiving agent and the atleast one sending agent.

It is contemplated that the various aspects, features, processes, andoperations from the various embodiments may be used in any of the otherembodiments unless expressly stated to the contrary. Certain operationsillustrated may be implemented by a computer executing a computerprogram product on a non-transient, computer-readable storage medium,where the computer program product includes instructions causing thecomputer to execute one or more of the operations, or to issue commandsto other devices to execute one or more operations.

For the purposes of clearly, concisely and exactly describingnon-limiting exemplary embodiments of the disclosure, the manner andprocess of making and using the same, and to enable the practice, makingand use of the same, reference has been made to certain exemplaryembodiments, including those illustrated in the figures, and specificlanguage has been used to describe the same. It shall nevertheless beunderstood that no limitation of the scope of the present disclosure isthereby created, and that the present disclosure includes and protectssuch alterations, modifications, and further applications of theexemplary embodiments as would occur to one skilled in the art with thebenefit of the present disclosure.

While the present disclosure has been illustrated and described indetail in the drawings and foregoing description, the same is to beconsidered as illustrative and not restrictive in character, it beingunderstood that only certain exemplary embodiments have been shown anddescribed, and that all changes and modifications that come within thespirit of the present disclosure are desired to be protected. It shouldbe understood that while the use of words such as “preferable,”“preferably,” “preferred” or “more preferred” utilized in thedescription above indicate that the feature so described may be moredesirable, it nonetheless may not be necessary, and embodiments lackingthe same may be contemplated as within the scope of the presentdisclosure, the scope being defined by the claims that follow. Inreading the claims, it is intended that when words such as “a,” “an,”“at least one,” or “at least one portion” are used there is no intentionto limit the claim to only one item unless specifically stated to thecontrary in the claim. The term “of” may connote an association with, ora connection to, another item, as well as a belonging to, or aconnection with, the other item as informed by the context in which itis used. The terms “coupled to,” “coupled with” and the like includeindirect connection and coupling, and further include but do not requirea direct coupling or connection unless expressly indicated to thecontrary. When the language “at least a portion” and/or “a portion” isused, the item can include a portion and/or the entire item unlessspecifically stated to the contrary.

What is claimed is:
 1. A method for discovery of semantic data of a plurality of agents in a distributed networked system, the method comprising: sending a semantic profile with associated data for each of the plurality of agents to one or more receiving agents that are in direct communication with one or more of sending agents; receiving, at each of the one or more receiving agents, the semantic profile and associated data from the respective one or more sending agents; in response to determining at the one or more receiving agents that the received semantic profile includes an unknown semantic profile and associated data for an unknown agent, updating the semantic profile of the one or more receiving agents to include the unknown semantic profile and associated data for the unknown agent; and after updating the semantic profile of the one or more receiving agents, iteratively sending, receiving and updating the semantic profiles of the plurality of agents until none of the one or more receiving agents receive any semantic profile and associated data that includes any unknown semantic profile and associated data for any unknown agent.
 2. The method of claim 1, wherein initially at least two or more of the plurality of agents are unknown agents to at one of the plurality of agents.
 3. The method of claim 1, wherein each of the plurality of agents is autonomous and communicates with others of the plurality of agents by exchanging messages that include the updated semantic profiles.
 4. The method of claim 1, wherein the semantic profile and associated data includes data regarding a capability of the corresponding agent relative to an application on each of the plurality of agents.
 5. The method of claim 1, wherein the agents communicate via one of client-server, publisher-subscriber, and multicast/broadcast communication protocols.
 6. The method of claim 1, wherein each of the agents comprises a control system including a processing device, an input/output device, a memory device, and operating logic for performing the method.
 7. The method of claim 1, wherein the distributed networked system includes a plurality of microgrids and each of the agents is associated with a respective one of the plurality of microgrids.
 8. The method of claim 1, wherein the distributed networked system includes a plurality of devices within a microgrid and each of the agents is associated with a respective one of the devices.
 9. A method for discovery of one or more agents in a distributed networked system, comprising: operating a first agent of a first control system, a second agent of a second control system, and a third agent of a third control system; sending a first message with the first control system, the first message containing a first application-specific semantic profile and associated data of the first agent; receiving the first message at the second control system; adding the first application-specific semantic profile and associated data of the first agent to a second application-specific semantic profile of the second agent; sending a second message with the second control system, the second message containing the first and second application-specific semantic profiles and associated data; receiving the second message at the third control system; and adding the first application-specific semantic profile and associated data of the first agent to a third application-specific semantic profile of the third agent in response to receiving the second message at the third control system.
 10. The method of claim 9, further comprising determining the first application-specific semantic profile and associated data of the first agent is unknown to the third agent before adding the first application-specific semantic profile and associated data of the first agent to the third application-specific semantic profile of the third agent.
 11. The method of claim 10, further comprising sending and receiving messages with the first, second, and third control systems to update the first application-specific semantic profile of the first agent, the second application-specific semantic profile of the second agent, and the third application-specific semantic profile of the third agent with application-specific semantic profiles and associated data of one or more other agents until none of the first, second, and third control systems receive an unknown application-specific semantic profile and associated data of the one or more other agents.
 12. The method of claim 9, wherein each of the control systems operates an associated microgrid.
 13. The method of claim 9, wherein each of the control systems operates an associated device within a microgrid.
 14. The method of claim 9, further comprising: sending a third message with the third control system, the third message containing the first, second, and third application-specific semantic profiles; receiving the third message at a fourth control system including a fourth agent; determining at least one of the first, second, and third application-specific semantic profiles and associated data is unknown to the fourth agent; and adding the at least one unknown application-specific semantic profile and associated data to a fourth application-specific semantic profile of the fourth agent.
 15. The method of claim 9, wherein the first control system is not in direct communication with the third control system.
 16. A non-transitory computer readable medium, comprising: a set of instructions structured to be executed by a processing device of a first control system of a first agent effective to: send a first message including at least a first semantic profile and associated data to at least one receiving agent that is in direct communication with the first agent; receive a second message including at least a second semantic profile and associated data from at least one sending agent that is in direct communication with the first agent; determine the second semantic profile and associated data is for an unknown agent to the first agent; update the first semantic profile of the first agent to include the second semantic profile and associated data for the unknown agent; and send a third message including the first semantic profile and associated data and the second semantic profile and associated data to the at least one receiving agent.
 17. The non-transitory computer readable medium of claim 16, wherein the set of instructions structured to be executed by the processing device are effective for the first agent to: iteratively update the first semantic profile of the first agent with semantic profiles received in messages from the at least one sending agent until none of the messages includes any semantic profile and associated data for any unknown agent.
 18. The non-transitory computer readable medium of claim 16, wherein each semantic profile and associated data includes data regarding a capability of the corresponding agent relative to an application on each of the agents.
 19. The non-transitory computer readable medium of claim 16, wherein the set of instructions structured to be executed by the processing device are effective to determine a value for each semantic profile received at the first agent.
 20. The non-transitory computer readable medium of claim 16, wherein the first agent is configured to communicate via one of a client-server, a publisher-subscriber, and a multicast/broadcast communication protocol with the at least one receiving agent and the at least one sending agent. 